package com.cncsi.service;


import com.cncsi.dao.OrderRepositoty;
import com.cncsi.entity.Orders;
import com.cncsi.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;

/**
 * 订单service
 * 2018年9月11日, AM 08:52:14
 *
 * @author 姜文
 */
@Service
@Transactional
public class OrderService {

    @Autowired
    private OrderRepositoty orderRepositoty;
    @Autowired
    private UserService userService;

    /**
     * 保存
     * 2018年9月12日, PM 04:52:05
     *
     * @author 姜文
     */
    public String saveOrder(Orders orders) {
        orders.setCdate(new Date());
        User user = userService.getUserForOne(orders.getUserId());
        orders.setUser(user);
        try{
            orderRepositoty.save(orders);
            return "成功";
        }catch(Exception e){
            System.out.println(e);
            return "失败";
        }
    }

    /**
     * 查找
     * 2018年9月12日, PM 05:55:00
     *
     * @author 姜文
     */
    public List<Orders> findOrderForAll() {
        List<Orders> ordersList = orderRepositoty.findAllBySts(0);
        return ordersList;
    }

    /**
     * 查找
     * 2018年9月12日, PM 05:55:00
     *
     * @author 姜文
     */
    public Orders findOrderForOne(Long ordersId) {
        Orders orders = orderRepositoty.findOne(ordersId);
        return orders;
    }

    /**
     * 删除
     * 2018年9月13日, AM 10:02:26
     *
     * @author 姜文
     */
    public String deleteOrder(Long ordersId) {
        Orders orders = this.findOrderForOne(ordersId);
        try{
            orders.setSts(1);
            orderRepositoty.saveAndFlush(orders);
            return "删除成功";
        }catch(Exception e){
            System.out.println(e);
            return "删除失败";
        }
    }
}
